package online.sixfish.common.dto;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.Data;

import java.util.List;

@Data
public class PageDTO<T> {
    private Long total;
    private Long currentPageCount;
    private Long currentPageNum;
    private List<T> data;

    public static <T> PageDTO<T> build(Page<T> page){
        PageDTO<T> pageDTO = new PageDTO<>();
        pageDTO.setCurrentPageCount(page.getSize());
        pageDTO.setCurrentPageNum(page.getCurrent());
        pageDTO.setTotal(page.getTotal());
        pageDTO.setData(page.getRecords());
        return pageDTO;
    }


    public static <T> PageDTO<T> emptyPageDTO(){
        PageDTO<T> pageDTO = new PageDTO<>();
        pageDTO.setCurrentPageCount(0L);
        pageDTO.setCurrentPageNum(1L);
        pageDTO.setTotal(0L);
        pageDTO.setData(null);
        return pageDTO;
    }
}

